
# 关键字参数： 在传递实参时，指定给一个形参的值
# 例如  my_func1(a, b=20)   my_func1(b=12)
# 注意：如果只给一个形参值时，其他形参要有默认值，否则就报错
# 在传递实参时，如果使用关键字参数，那么他的位置无所谓(可变参数除外)
# 如果我们方法中有可变参数，那么可变参数在方法的第一位，其他的参数，必须带关键字参数(有默认值除外)
def my_func1(*args,a, b=20):
    print(args)
    print(a)
    print(b)
    return a * b
def my_func2(a=20,*args, b=20): # 不行，报错
    print(args)
    print(a)
    print(b)
    return a * b
def my_func3(*args,a, b): #
    print(args)
    print(a)
    print(b)
    return a * b

print(my_func3(2,2,3,2,1,1,12,123,123,12,3123,b=13))